package com.lvmama.rhino.mapperComment;

import com.lvmama.rhino.pojo.comment.entity.*;
import com.lvmama.rhino.pojo.comment.query.CommentBaseQuery;
import com.lvmama.rhino.pojo.comment.query.CommentStatisticsQuery;
import com.lvmama.rhino.pojo.comment.query.CommentTendencyQuery;
import com.lvmama.rhino.pojo.comment.query.ProductCommentTypeRankQuery;

import java.util.List;

/**
 * @Author:caoyong
 * @Description:点评概述
 * @Date：2017/9/18
 */
public interface CommentOverviewMapper {
    /**
     * 查询点评趋势
     * @param query 查询条件
     * @return 结果集
     */
    List<CommentTendency> selectCommentTendency(CommentTendencyQuery query);

    /**
     * 评论统计
     * @param query 查询条件
     * @return 结果集
     */
    List<CommentStatistics> selectCommentStatistics(CommentStatisticsQuery query);

    /**
     * 查询点评时间分布
     * @param query 查询条件
     * @return 结果集
     */
    List<CommentTimeDistribution> selectCommentTimeDistribution(CommentBaseQuery query);

    /**
     * 查询品类点评率占比
     * @param query 查询条件
     * @return 结果集
     */
    List<CategoryCommentOccupancy> selectCategoryCommentOccupancy(CommentBaseQuery query);

    /**
     *查询产品评论类型排名
     * @param query 查询条件
     * @return 结果集
     */
    List<ProductCommentTypeRank> selectProductCommentTypeRank(ProductCommentTypeRankQuery query);

    /**
     *查询评论观点排名
     * @param query 查询条件
     * @return 结果集
     */
    List<ViewpointRank> selectViewpointRank(ProductCommentTypeRankQuery query);

    /**
     * 查询全部评论数据量
     * @param query
     * @return
     */
    Integer selectAllCommentNum(CommentStatisticsQuery query);
}
